perm filename STFNUM.FAI[P11,LCS] blob sn#568822 filedate 1981-02-26 generic text, type T, neo UTF8
	TITLE STFNUM
	ENTRY STFNUM
	EXTERNAL SCN,SC,ALF,NALF,EXP3.2,SCX,SCM,RMOD,JCHAR,A2Z,MKX
	ML←5 ↔ K←0 ↔ NNUM←14 ↔ ISKP←13 ↔ JJ←12 ↔ XMINUS←11 ↔ DECI←10
	M←7 ↔ N←6 ↔ QQ←4 ↔ TRIP←3 
	DEFINE LTT<A2Z+=19> ↔ DEFINE LZ<A2Z+=25> 
	DEFINE LM <A2Z+=12> ↔ DEFINE LN<A2Z+=13> ↔ DEFINE LP <A2Z+=15>
	DEFINE LL <A2Z+=11> ↔ DEFINE LR<A2Z+=17> ↔ DEFINE LBL <SCX+=11>
	DEFINE LSL <MKX> ↔ DEFINE LST <SCX+=7 > ↔DEFINE LCM<SCX>
	DEFINE LE <A2Z+4> ↔ DEFINE LC <A2Z+2> ↔ DEFINE LS <A2Z+=18>
	DEFINE LPL<SCX+=6 > ↔DEFINE LMI<SCX+1> ↔ DEFINE LF <A2Z+5>
	DEFINE LA <A2Z> ↔ DEFINE LI <A2Z+=8> ↔ DEFINE LW <A2Z+=22>
	DEFINE JN <SC+=10> ↔ DEFINE DBST <SC+=11> ↔ DEFINE ISEMI <JCHAR+1>
	DEFINE IXX <A2Z+=23> ↔ DEFINE MODE <SC+=70> ↔ DEFINE VX <SC+=16>
	DEFINE LU <A2Z+=20> ↔ DEFINE LD <A2Z+3> ↔ DEFINE INP <ALF>
	DEFINE REXP<SC+6> ↔DEFINE DOT<SCX+2> ↔ DEFINE VX4 <SC+=19>
STFNUM:	0	;FUNCTION STFNUM(STAFF)
	SETOM SCXNR#		;SCXNR=-1   FLAG
	SETZ 6,
STFN1:	MOVE 2,INP(6)
	MOVE 4,INP+1(6)
	CAME 2,LS		;IS INP1='S'?
	JRST NONUM
	CAME 4,LTT           	;  IF(INP(2).EQ.'T')STAFF=NEXT NUM
	CAMN 4,LP             	; IS IT A P?
	SKIPA
	JRST NONUM		;NO
	MOVE 3,LZ       	;PUT Z'S INTO FIRST LOCS.
	MOVE ML,6		;ML=3+PTR
	ADDI ML,3
	MOVSI XMINUS,201400
	MOVE 2,INP+2(6)		;LOOK AT 3RD CHAR.
	CAME 2,LMI		;IS IT MINUS?
	JRST .+3
	MOVNS XMINUS
	AOJ ML,			;ML=ML+1
	JSA 16,NALF		;GET THE STAFF NUM.
	JUMP INP-1(ML)
	FLTR
	FMPR XMINUS
	CAME 4,LP     		;IF NOT 'P' GO TO STFN2
	JRST STFN2
	SETOM SCX+=30		;RB=-1
	MOVEM RMOD+1		;SET4 IS NOW FILLED
	JRST STFN3-1
STFN2:	SETZM SCX+=30		;RB=0
	MOVEM @(16)	;TYPE STn/ TO SET STAFF NUM FOR ENTIRE LINE.
	MOVE ML,6  
STFN3:	MOVE 2,INP(ML)		;LOOK FOR THE SLASH AND THROW ALL AWAY
	MOVEM 3,INP(ML)		;SKIP UNTIL SEMI (CHANGED FROM SLASH AT S899)
	AOJ ML,
	CAME 2,LSL  
	JRST STFN3
   	SETZM SCXNR		;RETURN A ZERO
	MOVE 6,ML
	JRST STFN1		;GO BACK AND LOOK FOR MORE.
NONUM:	MOVE SCXNR		;NO STAFF NUM, RETURN A -1
	JRA 16,1(16)

	END